General Upgrade Notes: As you move from one version to the next it is likely that your licenses.licx file becomes incompatible with the current version. The simplest way to fix this is to edit the licenses.licx file and on each line related to our controls, remove the text after the assembly name, eg.
Keyoti.RapidSpell.RapidSpellChecker, Keyoti.RapidSpell.NET4, Version=6.0.17.1105, Culture=neutral, PublicKeyToken=58d9fd2e9ec4dc0e
can be changed to
Keyoti.RapidSpell.RapidSpellChecker, Keyoti.RapidSpell.NET4which will allow the licenses.licx file to be used with any version.
public event EventHandler SelectUserDictionary;
void userDictionaryBT_Click(object sender, EventArgs e) { if (SelectUserDictionary != null) SelectUserDictionary(this, e); }
Backwards Compatibility
- As 5.2.0
Improvements
- English dictionary updates.
- Small bug fixes.
- Includes TX support DLLs to version 22.
Backwards Compatibility
- As 5.1.0
Improvements
- Fix DataGridView underline rendering with non singleline mode usage.
- Small bug fixes.
- Includes TX support DLLs to version 21.
Backwards Compatibility
- As 5.1.0
Improvements
- Added RapidSpellAsYouType.RemoveAllTextComponents.
- Added TX18 support DLL.
- Corrected parsing of symbols.
Backwards Compatibility
- All loaded main dictionaries are now cached and shared between (all instances of) RapidSpellAsYouType and RapidSpellDialog. This also improves performance when using the compressed .2.dict files (the default dictionary is compressed). The ShareDictionary property in the controls has been deprecated and now has no effect.
The cache can be controlled through static methods
DictionaryCache.RemoveDictionary
DictionaryCache.RemoveAllDictionariesImprovements
- Improved RapidSpellAsYouType startup time using asynchronous dictionary loading (this means that forms load faster but there may be a very short delay before the underlines are shown for the first time, if this is unacceptable please use a non-compressed .dict file).
- Users may now press ALT-<NUMBER> in RapidSpellDialog as a shortcut to change the misspelled word to item number <NUMBER> in the suggestion list. Also see NumberSuggestionList property in RapidSpellDialog to show list numbers.
- Added WordChanging event to RapidSpellDialog.
- Several small bug fixes..
Backwards Compatibility
- The Keyoti.RapidSpellMDict.DLL dictionary is no longer used, by default a compressed US English dictionary is used - to use a different language you can embed the corresponding Dict File (.dict) into your project, please see the dictionaries section of the help for more info.
- Lowercase i is no longer ignored by default (when LanguageParser==English), to preserve the old behaviour set IgnoreInEnglishLowerCaseI in the controls to true. It is also autocorrected.
- The context menu now includes an "Ignore" option, therefore GetSuggestionsToolStripItems will also include an Ignore menu option, if you are using this method check that the extra ignore menu item will not harm your code.
- WPF support has been dropped as we have since released RapidSpell WPF which includes new as-you-type support.
Improvements
- Sentence capitalization correction (auto or manual).
- Ignore Once added to 'as you type'.
- Easier to use custom context menus from 3rd party control kits (use GetSuggestionContextMenuInformation, ChangeWordMenuItem_Click, IgnoreOnceMenuItem_Click, IgnoreAllMenuItem_Click, AddMenuItem_Click methods in RapidSpellAsYouType).
- RapidSpellDialog support for DataGridView added (as you type already exists, see Help).
- Compressed dictionaries
- Many small bug fixes and improvements in behavior.
Backwards Compatibility
- Backwards compatible with v4.6.x.
Improvements
- Inclusion of .NET 4 built DLLs.
Backwards Compatibility
- Backwards compatible with v4.6.
Improvements
- WordDeleted event added to RapidSpellDialog for indication of user's removal of word from user dictionary.
- Inclusion of TX Text Control v15.1 support DLL.
Fixes
- Minor bug fixes
Backwards Compatibility
- Backwards compatible with v4.5, please see v4.5 notes below for info on older versions.
Improvements
- As you type support for regular .NET textboxes, RichTextBox and TextBox without subclassing. See TextBoxBase property and AddTextBoxBase method in RapidSpellAsYouType.
Fixes
- Designtime issue with dictionary path properties
- Options form fixed under non default DPIs
- Minor TX Text Control integration bugs fixed, including; Support non standard screen resolutions, Ignore read-only hyperlinks, ApplicationFields
- Minor bug fixes
This release is skipping some version numbers due to the magnitude of the change for our TX Text Control users.Improvements
- Various Form properties in RapidSpellDialog implemented for Win Form user's convenience (no need to use CreateDialogView event).
- Overhaul of TX Text Control interaction.
Backwards Compatibility Issues For TX Text Control Users
As a result of unsolvable issues with the underlining mechanism used in prior versions we have adopted a new painting technique, which solves these issues but does introduce it's own differences/compromises (which we feel are greatly out weighed by the improvements). It's suggested that you review the new demo projects and help pages for TX.
Usage differences
- Only one TXTextControlAdapter control is now used with RapidSpellAsYouType and/or RapidSpellDialog. For example, this means that the 'Helper' class from our examples should not be used anymore.
- The TXTextControlAdapter control will automatically handle headers/footers/frames etc.
- Although it is possible to use the red wavy underline style, we recommend that the dashed or single underline style is used (via the RapidSpellAsYouType.UnderlineStyle property).
End user experience differences
- Undo functionality is no longer affected by running the spell checker.
- Only the currently focused 'element' (header/footer/body/frame) is spell checked, with either the as-you-type or dialog control.
- Slight flicker may be present in the underlines at certain times, this is because the painting is supplemental to the TX painting.
Backwards Compatibility
There are some API changes which are 'breaking', they will prevent some applications being compiled without code changes. Modifications to code should be simple in all cases except that of customized RapidSpellGUI (custom UI).
- v3 license keys are not compatible with v4, please purchase an upgrade
- Minor property renaming and movement of some methods to properties - in all cases, follow the compiler error message for suggested change.
- RapidSpellGUI / IUserInterfaceForm - this class / interface has split into two; IDialogView and IUserInterfaceFormPresenter (implemented by RapidSpellGUIPresenter which replaces RapidSpellGUI). The BuildGUI method has been removed and now UI customizations are made by implementing the lightweight IDialogView interface (see demo projects and user guide for detail). Most other method overrides in RapidSpellGUI will still apply to RapidSpellGUIPresenter, except to note that the UI elements are now accessible through the DialogView property.
- As part of the RapidSpellGUI change, IUserInterfaceFormProvider has been removed, it's functionality (customizing UI) has been replaced by RapidSpellDialog.CreateDialogView event.
- IUserInterfaceFormPresenter has no Windows Forms specific properties due to support for WPF (eg. ControlBox). Instead, these can be accessed by casting DialogView.
- RapidSpellAsYouType and RapidSpellGUIPresenter/Dialog event handler delegates moved to Keyoti.RapidSpell.Event namespace - import this namespace if not already.
- Some user options, such as "Check spelling as you type" will override the properties in the controls (eg. RapidSpellAsYouType.CheckAsYouType). To avoid this, you can disable user options by setting RapidSpellAsYouType.OptionsEnabled=false and/or RapidSpellDialog.OptionsEnabled=false
- RapidSpellAsYouType.TextComponents no longer has a "getter". Instead, rework your code to either use only the "setter", or use the new AddTextComponent/RemoveTextComponent methods.
It's possible that no compiler errors will occur after upgrading.
None of our default DLLs are Authenticode signed, if you need signed versions please download http://keyoti.com/downloads/RSDT.NET-4-0-0-Authenticode_signed_DLLs.zip
Improvements
- User options form added, with user dictionary editor
- Autocorrect (English / customizable) added to RapidSpellAsYouType
- Undo function added to RapidSpellDialog
- Dynamic add/remove of text boxes to spell checker controls
- WPF support for RapidSpellDialog
- Simpler and more flexible UI customization
- Global change all/ignore all
- Ignore once implementation for coupled RapidSpellDialog & RapidSpellAsYouType
- Tighter integration between RapidSpellDialog & RapidSpellAsYouType
- Improved handling of programmatic text changes
- Duplicate word detection in RapidSpellAsYouType added (already present in Dialog)
- Sentence context shown in dialog checker
Backwards Compatibility
-Backwards compatible with all v3 - except that Dict File file-names have been changed to a more consistent format. Please update the DictFilePath property of controls that directly access Dict Files from our installation directory.
**Note that if a Dict File cannot be located (wrong path) the DLL dictionary is used by default.-All of our DLLs are now Authenticode signed.
Improvements
-July 2007 dictionary update included, adds 40,000 more words and word form variations.
-TX TextControl 14 support added.
-VS 2008 toolbox support and demo projects added.
-Aspose Editor support added.
-TX TextControl support behavior improved.
Fixes
-Various minor bug fixes
Backwards Compatibility
-The installation directory layout and specifically, the DLL locations, has changed (to include .NET2/3 DLLs). This _may_ cause the references to become broken in your project (depending on how they were referenced). If your reference becomes broken, please re-add the reference to the DLL.
-If your code assigns a ContextMenu to AYTRichTextBox or AYTTextBox you must now assign that ContextMenu to the ContextMenuDefault property in order to have it shown properly when the user requests the ContextMenu away from a spelling error. In previous versions the control copied any design-time assigned ContextMenus and showed them when the user clicked away from a spelling error. However there were reliability issues and because of this, the behavior has changed.
-If your code assigns a ContextMenu to TXTextControl and you use RapidSpellAsYouType to check TXTextcontrol, then you must now assign that the ContextMenu to the TXTextControlAdapter.ContextMenuDefault property only.
-For CLR2 (.NET2), the new .NET2 assembly should be referenced, and in the licenses.licx any line referencing Keyoti.RapidSpell must be changed to "Keyoti.RapidSpell.RapidSpellChecker, Keyoti.RapidSpell.NET2"
-DataGridAYTTextBoxColumn.ShowErrorGlyph property is used to indicate whether a red 'e' is shown in a cell holding a spelling error. This property is now false by default and the new ShowErrorUnderline property is true, indicating that underlines will now be shown.
Improvements
-Replacement Dictionary DLLs support lower than Full Trust
-(ClickOnce) Other non Full Trust issues ironed out, RapidSpellDialog can be used under Internet security Context
-New .NET2 assembly version included, with ContextMenuStrip and DataGridView support added
-Added ContextMenuDefault property to AYT text boxes to make assigning default context menus easier
-DataGrid noneditmode display improvement (now shows underlines, optional).
-DevExpress support integrated into main DLL and source code provided to make support for DevExpress controls version independent
-Updated demos
Fixes
-Various minor bug fixes
Backwards Compatibility
-No compatibility issues to 3.5.2.Improvements
-Visual Studio 2005 support
-ShowSuggestionsWhenTextIsSelected added to RapidSpellAsYouType, allowing default behavior override
-TX TextControl v12 support (see http://keyoti.com/kb/attachments/RSDT.NET_TX_TextControl_Comprehensive_How_To/article.html)Fixes
-Fixed issue with suggestions when IgnoreWordsWithDigits is set false, default value is true.
Backwards Compatibility
-No compatibility issues to 3.5.1.Improvements
-Ignore HTML/XML support added to RapidSpellAsYouTypeFixes
-Fixed issue with suggestions when IgnoreWordsWithDigits is set false, default value is true.
Backwards Compatibility
-No compatibility issues to 3.5.0.Improvements
-Support for Infragistics 5.2 added (5.1 and 4.3 still included)Fixes
-Fixed issue causing slowdown with very long 'words' (>150 chars)
-Dictionary update including case corrections for i.e. and e.g.
-Fixed issue that could occur when launching the spell checker on multiple text boxes before previous check was complete
BACKWARD INCOMPATIBILITY
Some changes have affected compatibility/expected-behavior between this version and previous versions:
Licensing; with the implementation of a new licensing system, simply swapping old version for new version DLLs will NOT WORK. It is imperative that licensing instructions in the user-guide PDF are followed.
GUI Changes; pressing the Escape key now closes the dialog based spell checker, various keyboard shortcuts "&" are now defined by default for RapidSpellGUI buttons.
Improvements
-Grids: As-you-type support added for DataGrid, Janus GridEX and Infragistics UltraGrid
-Full support added for Janus EditBox
-Improved suggestions for 2-3 character words
-Additional properties of RapidSpellGUI/Form exposed through RapidSpellDialog for additional convenience
-RapidSpellAsYouType painting in TX TextControl improved
-Work-around used to prevent modal flickering during dispose, modal forms can now be made to not be disposed of automatically, use ModalAutoDispose to set behavior
-RapidSpellAsYouType.AutoCheckAllTextComponentsUnder now looks for nested text components
-Added AllowAnyCase property
Fixes
-"Smart apostrophes" from MS Word are now handled correctly
-IgnoreURLsAndEmailAddresses toggling behavior fixed
-Tab order and default focus in RapidSpellGUI
-Fixed bug with AYTRichTextBox and Apps key firing suggestions context menu
Improvements
-Enhanced word parser allows sophisticated custom pattern ignoring and built-in URL and email ignoring, please see V2Parser and IgnoreURLsAndEmailAddresses properties and AddIgnorePattern(regex) method.
-In RapidSpellDialog, double clicking on a suggestion now automatically changes the text to that suggestion.
-Portuguese UI texts added, for new Portuguese dictionaries.
-New AutoCheckAllTextComponentsUnder method provides shortcut to as-you-type check all compatible text boxes on the Form.
-Support for new version of Infragistics controls (3.2).
-New property AllowMixedCase sets whether words of mixed case will be reported as errors if they are not in dictionary with matching case.Fixes
-Duplicate word errors are now highlighted in a manner consistent with spelling errors. Also fixes highlighting errors related to duplicate words.
-TXTextControl in page view, doesn't scroll properly to make error word visible, this has been fixed.
-When focus leaves the text box, all unchecked words are now spell checked, in RapidSpellAsYouType.
Improvements
-The RapidSpellAsYouType context menu displayed when the user right clicks on an underlined word can now be shown as part of a custom context menu. See SpellContextMenuRequest event.
-RapidSpellDialog forms can now be closed through RapidSpellDialog.Close() - multi-form applications should listen for Form.Closing event to close RapidSpellDialog object when necessary.
-Customized GUI classes can now be used in RapidSpellDialog, allowing for easier use, especially in multiple text box environments.
-Dictionary updates.Fixes
-TXTextControl adapter is now usable with RapidSpellAsYouType in the design environment without needing to code the adapter around the TextControl manually, it can be performed visually.
-Duplicate numbers are no longer reported as an error.
Backwards Compatibility
-No compatibility issues to 3.2.0.
Improvements
-Dialog icon now settable.Fixes
-Minor duplicate word detection fix.Backwards Compatibility
-No compatibility issues to 3.2.0.
Improvements
-Spell check now detects duplicate words.
-AYTRichTextBox & AYTTextBox Controls now have optional Cut/Copy/Paste menu.
-TX TextControl support with RapidSpellDialog has been improved with the addition of an 'adapter' control TXTextControlAdapter; integration is now custom code-less.
-Addition of new RapidSpellAYTDialogCoupler control creates cohesive as-you-type and dialog checking.
-QueryTextBoxMultiline property added, so that 'not in dictionary' text box can be set to single line.
-Developer set context menu's are now shown when a user right clicks off a misspelt word.
-ShowSuggestionsContextMenu property added to RapidSpellAsYouType, enabling suggestions to be disabled.
-Dialog box is not shown (by default) if there are no errors.
-Addition of Location property in RapidSpellDialog, for setting dialog location.
-All UI text properties are now set-able.
-Addition of MinimizeBox, TopLevel, MdiParent, Parent and TopMost properties.
-New events for; ignore, change and add actions in RapidSpellDialog and RapidSpellAsYouType.
-New Infragistics UltraTextEditor adapter Control makes integration easy and code-less.
-CheckerEngine property now available in RapidSpellDialog.Fixes
-Suggestions now preserve case of mis-spelt word.
-Anything starting with a digit was ignored, now anything containing a digit will be ignored by default unless IgnoreWordsWithDigits = false.Backwards Compatibility
-Checking is performed (in Dialog) prior to opening dialog, on slow machines this may cause a delay before a message box or the dialog is shown, set AlwaysShowDialog=true for old behavior.
-Customers using TX TextControl and RapidSpellDialog should use the new adapter control TXTextControlAdapter or add a ScrollToCaret method to their interface.
Improvements
SpellCheckFinished event argument now has 'Cancelled' property, the property is true when the spell check was cancelled (either by clicking cancel or by closing the dialog box).Fixes
When running any of the spell checker Controls on systems whose culture is not invariant, or English based, certain words in the dictionary are ignored and reported as misspelled, the top suggestion is shown to be that word.Compiling projects on systems without TX TextControl would cause a non-critical warning to be produced by the compiler. This has been fixed and TXTextControl dependency (for developers working with that tool) has been moved to a separate DLL (Keyoti.RapidSpell.TXSupport.dll).
Improvements
As You Type support for TX Text Control, added.As You Type Fixes
Changing text in a text box using the .Text property could cause the underline to appear in the wrong place
Improvements
'Add' context menu option in RapidSpellAsYouType is now hidable (use ShowAddMenuOption=false)As You Type Fixes
Text control resizing - now repaints underlines automatically
Hyphens causing word breaks across lines - underlines now drawn on both lines
Fixes
Mouse wheel scrolling repaint fix.
As-you-type checking with full in-document highlighting
Smooth multiple text box checking for dialog and as-you-typeBackwards Compatibility
v3 is backwards compatible apart from the following issues;Namespace in v2 was Com.Keyoti.RapidSpell (Java convention), it is now Keyoti.RapidSpell, this was changed to avoid confusion with COM, which RapidSpell has no connection with.
RapidSpellGUI internal lifetime control has been changed, if you are using RapidSpellGUI and are concerned, please contact support@keyoti.com.
Flickering With As-You-Type; due to the limitations in the .NET implementation of the text box controls it is not possible to rigorously control painting of the text box - double buffering, a common anti-flicker technique is impossible. In tests we have found that the amount of flicker is dependent on the age of the users graphics card. More modern, powerful cards have much less flicker, due to their higher update rates. We will continue to look at ways of minimizing the flicker in the future.